\hypertarget{classTuna_1_1GeneralMesh}{
\subsection{Tuna::GeneralMesh$<$ Tmesh $>$ Class Template Reference}
\label{classTuna_1_1GeneralMesh}\index{Tuna::GeneralMesh@{Tuna::GeneralMesh}}
}


General class for meshes.  


\subsubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef Typeinfo$<$ Tmesh $>$::\hyperlink{classTuna_1_1GeneralMesh_aa7036b4f255ec46446443d26b6a770c2}{prec\_\-t} \hyperlink{classTuna_1_1GeneralMesh_aa7036b4f255ec46446443d26b6a770c2}{prec\_\-t}
\begin{DoxyCompactList}\small\item\em Precision used for the numerical operations. \end{DoxyCompactList}\item 
\hypertarget{classTuna_1_1GeneralMesh_a69519790ee3b38108b997cf46aa264e8}{
typedef \hyperlink{structTuna_1_1TunaArray}{TunaArray}$<$ \hyperlink{classTuna_1_1GeneralMesh_aa7036b4f255ec46446443d26b6a770c2}{prec\_\-t}, 1 $>$::huge \hyperlink{classTuna_1_1GeneralMesh_a69519790ee3b38108b997cf46aa264e8}{ScalarField1D}}
\label{classTuna_1_1GeneralMesh_a69519790ee3b38108b997cf46aa264e8}

\begin{DoxyCompactList}\small\item\em Arrays for numbers. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classTuna_1_1GeneralMesh_ac592a9acf8b29460a8dcf39fd50931a3}{
Tmesh \& \hyperlink{classTuna_1_1GeneralMesh_ac592a9acf8b29460a8dcf39fd50931a3}{asDerived} ()}
\label{classTuna_1_1GeneralMesh_ac592a9acf8b29460a8dcf39fd50931a3}

\begin{DoxyCompactList}\small\item\em This funtion gets an returns a reference to the derived class, using the Curiously Recursive Template Pattern (CRTP). \end{DoxyCompactList}\item 
\hypertarget{classTuna_1_1GeneralMesh_a4d38fa591e526444d6b50000d3eb7375}{
bool \hyperlink{classTuna_1_1GeneralMesh_a4d38fa591e526444d6b50000d3eb7375}{calcPoints} ()}
\label{classTuna_1_1GeneralMesh_a4d38fa591e526444d6b50000d3eb7375}

\begin{DoxyCompactList}\small\item\em Delegate responsabilities to derived classes. \end{DoxyCompactList}\item 
\hypertarget{classTuna_1_1GeneralMesh_aa4107c79e49fbc9c67fb1343d9cc62b8}{
bool \hyperlink{classTuna_1_1GeneralMesh_aa4107c79e49fbc9c67fb1343d9cc62b8}{calcElements} ()}
\label{classTuna_1_1GeneralMesh_aa4107c79e49fbc9c67fb1343d9cc62b8}

\begin{DoxyCompactList}\small\item\em Delegate responsabilities to derived classes. \end{DoxyCompactList}\item 
\hyperlink{classTuna_1_1GeneralMesh_a69519790ee3b38108b997cf46aa264e8}{ScalarField1D} \hyperlink{classTuna_1_1GeneralMesh_ad819ba5886fcdb4137b2c71948550bf1}{getCoord} (Axis\_\-t a)
\begin{DoxyCompactList}\small\item\em Returns a std::vector$<$prec\_\-t$>$ with the coordinates distribution in the axis defined by the parameter {\ttfamily a}. \end{DoxyCompactList}\item 
void \hyperlink{classTuna_1_1GeneralMesh_ab75ef83d7d410c8b7360d12477876099}{writeToFile} (string filename)
\begin{DoxyCompactList}\small\item\em Write the coordinates of the mesh to a file. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsubsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classTuna_1_1GeneralMesh_adb1220f6fe8395185eba4973fa2e71e2}{
int \hyperlink{classTuna_1_1GeneralMesh_adb1220f6fe8395185eba4973fa2e71e2}{Dim}}
\label{classTuna_1_1GeneralMesh_adb1220f6fe8395185eba4973fa2e71e2}

\begin{DoxyCompactList}\small\item\em Dimension of the mesh. \end{DoxyCompactList}\item 
\hypertarget{classTuna_1_1GeneralMesh_a8e75bc5cbf29abdbceb95226f1315c26}{
vector$<$ \hyperlink{classTuna_1_1GeneralMesh_aa7036b4f255ec46446443d26b6a770c2}{prec\_\-t} $>$ \hyperlink{classTuna_1_1GeneralMesh_a8e75bc5cbf29abdbceb95226f1315c26}{xyz} \mbox{[}3\mbox{]}}
\label{classTuna_1_1GeneralMesh_a8e75bc5cbf29abdbceb95226f1315c26}

\begin{DoxyCompactList}\small\item\em Coordinate arrays. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsubsection{Detailed Description}
\subsubsection*{template$<$typename Tmesh$>$class Tuna::GeneralMesh$<$ Tmesh $>$}

This class is the root of the hierarchy for mesh classes. This should be an \char`\"{}abstract\char`\"{} class from the point of view of the design. The functions {\ttfamily \hyperlink{classTuna_1_1GeneralMesh_a4d38fa591e526444d6b50000d3eb7375}{calcPoints()}} and {\ttfamily \hyperlink{classTuna_1_1GeneralMesh_aa4107c79e49fbc9c67fb1343d9cc62b8}{calcElements()}} should be implemented in the derived classes.

\begin{DoxyAuthor}{Author}
Luis M. de la Cruz \mbox{[} Sat Jan 19 18:16:37 GMT 2010 \mbox{]} 
\end{DoxyAuthor}


Definition at line 40 of file GeneralMesh.hpp.



\subsubsection{Member Typedef Documentation}
\hypertarget{classTuna_1_1GeneralMesh_aa7036b4f255ec46446443d26b6a770c2}{
\index{Tuna::GeneralMesh@{Tuna::GeneralMesh}!prec\_\-t@{prec\_\-t}}
\index{prec\_\-t@{prec\_\-t}!Tuna::GeneralMesh@{Tuna::GeneralMesh}}
\paragraph[{prec\_\-t}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Tmesh$>$ typedef Typeinfo$<$Tmesh$>$::{\bf prec\_\-t} {\bf Tuna::GeneralMesh}$<$ Tmesh $>$::{\bf prec\_\-t}}}
\label{classTuna_1_1GeneralMesh_aa7036b4f255ec46446443d26b6a770c2}


Reimplemented in \hyperlink{classTuna_1_1StructuredMesh_a2466a6c86a4e811d7dff4fc63a9bb400}{Tuna::StructuredMesh$<$ Tadaptor $>$}, \hyperlink{classTuna_1_1StructuredMesh_a2466a6c86a4e811d7dff4fc63a9bb400}{Tuna::StructuredMesh$<$ Uniform$<$ Tprec, Dim $>$ $>$}, and \hyperlink{classTuna_1_1StructuredMesh_a2466a6c86a4e811d7dff4fc63a9bb400}{Tuna::StructuredMesh$<$ NonUniform$<$ Tprec, Dim $>$ $>$}.



Definition at line 44 of file GeneralMesh.hpp.



\subsubsection{Member Function Documentation}
\hypertarget{classTuna_1_1GeneralMesh_ad819ba5886fcdb4137b2c71948550bf1}{
\index{Tuna::GeneralMesh@{Tuna::GeneralMesh}!getCoord@{getCoord}}
\index{getCoord@{getCoord}!Tuna::GeneralMesh@{Tuna::GeneralMesh}}
\paragraph[{getCoord}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Tmesh$>$ {\bf ScalarField1D} {\bf Tuna::GeneralMesh}$<$ Tmesh $>$::getCoord (
\begin{DoxyParamCaption}
\item[{Axis\_\-t}]{a}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classTuna_1_1GeneralMesh_ad819ba5886fcdb4137b2c71948550bf1}

\begin{DoxyParams}{Parameters}
{\em a} & can be {\ttfamily X}, {\ttfamily Y} or {\ttfamily Z} \\
\hline
\end{DoxyParams}


Definition at line 76 of file GeneralMesh.hpp.

\hypertarget{classTuna_1_1GeneralMesh_ab75ef83d7d410c8b7360d12477876099}{
\index{Tuna::GeneralMesh@{Tuna::GeneralMesh}!writeToFile@{writeToFile}}
\index{writeToFile@{writeToFile}!Tuna::GeneralMesh@{Tuna::GeneralMesh}}
\paragraph[{writeToFile}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Tmesh$>$ void {\bf Tuna::GeneralMesh}$<$ Tmesh $>$::writeToFile (
\begin{DoxyParamCaption}
\item[{string}]{filename}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classTuna_1_1GeneralMesh_ab75ef83d7d410c8b7360d12477876099}
The file is in ASCII and 1, 2, or 3 columns are written depending on the dimension 1D, 2D or 3D respectively. 
\begin{DoxyParams}{Parameters}
{\em filename} & is a string for the name of the output file. \\
\hline
\end{DoxyParams}


Definition at line 95 of file GeneralMesh.hpp.

